package com.example.myapplication.kotlin

/*
  作用域函数let,
  主要用途包括：空安全处理、对象转换和临时作用域创建。
  【提示最后一行会作为返回值】
 */
fun main() {
    // let一般结合? 进行空安全限制, 等同与if的非空判断
    val username1: String? = null
    username1?.let { // 只有不为null时才会执行let块中的代码
        //提示=>it就是username1
        println(it)
    }
    if (username1 != null) { // 等同于if的非空判断
        println(username1)
    }

    val username2: String? = "张三"
    username2?.let { // 只有不为null时才会执行let块中的代码
        println(it)  // 张三
    }
    //【返回值】
    val result = "Hello".let {
        println(it)
        it.length  // 最后一行作为返回值
    }
    println(result)
    // result 的值是 5
}


